Relay server

ABSTRACT

A relay server for realizing the connection between the device of the Internet side and the terminal within the local system, and capable of identifying each connection, even in the case a plurality of connections exist between each of the network apparatus and the relay server. When a first terminal logs into the relay server  4 , the connection identifier  1  that is unique within the relay system is assigned to the connection  1 , and is returned. As in the same manner, when a second terminal logs into the relay server, the connection identifier  2  that is unique within the relay system is assigned to the connection  2 , and is returned. The communication between the first and second terminals is realized, by the relay server  4  relaying the communication by using connections  1  and  2.

CROSS REFERENCES TO RELATED APPLICATIONS

[0001] This application claims priority under 35 USC 119 of JapanesePatent Application Nos. 2001-104381, and 2001-215298 filed in JPO onApr. 3, 2001, and Jul. 16, 2001, respectively, the entire disclosures ofwhich are incorporated herein by reference.

BACKGROUND OF THE INVENTION

[0002] 1. Field of the Invention

[0003] The present invention relates to a relay server for carrying outcommunication with a plurality of network devices, or carrying out thecommunication further with another relay server or other relay servers,and realizing the communication between the network device(s) andanother network device or other relay servers.

[0004] 2. Description of the Related Art

[0005]FIG. 13 is an illustration of an example of a general system usingthe Internet. In FIG. 13, reference numerals 1, 2 designate localsystems, 3 the Internet, 11, 12, 21, 22 terminals, 13, 23 gateways, and14, 24 LANs (Local Area Network). The terminal 11, the terminal 12, thegateway 13, and the like are connected by the LAN 14 to form the localsystem 1. The gateway 13 is connected to the Internet 3 along with theLAN 14, and the Internet can be used from various network apparatus,such as the terminal 11 or the terminal 12 on the LAN 14. Moreover, thelocal system 2 is formed in the same manner, and the terminal 21, theterminal 22, the gateway 23 and the like are connected by the LAN 24 toform the local system 2. The gateway 23 is connected to the Internet 3along with the LAN 24, and the Internet can be used from various networkapparatus, such as the terminal 21, and the terminal 22 on the LAN 24.Moreover, other various apparatus can be connected by the LAN 14 withinthe local system 1, and by the LAN 24 within the local system 2. (Anetwork apparatus is also referred to as a network device in the presentspecification.)

[0006] According to such a system, normally, one or a plurality ofglobal IP addresses are assigned to the local system 1 and the localsystem 2, but a global IP address is not assigned to each of the networkapparatus within the local system 1 and the local system 2. A private IPaddress is assigned to each network apparatus within each of the localsystem 1 and the local system 2. The gateways 13 and 23 use functionssuch as NAT (Network Address Translation) and IP masquerade so as toconvert a private IP address into a global IP address. By using thegateway 13 and the gateway 23 having such functions for converting theIP address, for example, in the local system 1, the terminal 11 and theterminal 12 use the Internet 3 via the gateway 13. Moreover, in thelocal system 2, the terminal 21 and the terminal 22 use the Internet 3via the gateway 23.

[0007] Moreover, the gateway 13 and the gateway 23, or other networkdevices, or the like are provided with functions such as a firewall, anda proxy server, and a system has been used in which respective terminalsuse the Internet 3 via these devices, and the safety in the system isimproved.

[0008] For example, when attempting to access the terminal 11 within thelocal system 1 from the Internet 3, the global IP address of the gateway13 can be learned, but the private IP address of the terminal 11 cannotbe learned. Therefore, under a general connection method, the terminal11 cannot be accessed from outside of the local system 1. Moreover,there are cases in which sites which can be accessed are limited by thefirewall function or the like of the gateway 13. In addition, the sameaccess limitation applies to the terminal 12, and also applies to theterminal 21 and the terminal 22 within the local system 2.

[0009] Furthermore, the terminal 11 and the terminal 12 within the localsystem 1, and the terminal 21 and the terminal 22 within the localsystem 2 are generally provided with only client functions, and are notprovided with functions as a server for accepting information from othernetwork apparatus. Therefore, unless accessing to other networkapparatus with the server function is performed from the terminal 11,the terminal 12, the terminal 21, and the terminal 22, the informationcannot be transmitted to these terminals from other network apparatus.

SUMMARY OF THE INVENTION

[0010] A first object of the present invention is to provide a relayserver for realizing the communication from the Internet to a networkdevice within a local system, or the communication between networkdevices within different local systems, and capable of identifying eachconnection normally, even in the case a plurality of connections existbetween each of the network apparatus and the relay server.

[0011] A second object of the present invention is to provide a relayserver for realizing communication among the network devices within aplurality of local systems via the Internet, and permitting othernetwork apparatus to participate in such communication.

[0012] According to one aspect of the present invention, there isprovided a relay server including communication means capable ofcarrying out communication with a plurality of network devices by usingat least one connection respectively, and control means for relaying thecommunication between the network devices by using the communicationmeans. Preferably, the control means manages the connection by aconnection identifier that makes it possible to uniquely identify eachconnection to be used by the communication means for the communicationwith the network device. With such structure of the relay server and/orthe like, by logging to the relay server from the network device, and byrelaying the communication for the network device which is in a loginstate, for example, even in the case the network device is a devicewithin the local system, the communication can be realized from theInternet to the network device. Moreover, since such a connectionbetween the network device and the relay server is managed by theconnection identifier, for example, even in the case a plurality ofconnections are provided between the network devices and the relayserver, the communication can be carries out normally for each of theconnections.

[0013] According to another aspect of the present invention, there isprovided a relay server including communication means capable ofcarrying out communication with a plurality of network devices by usingmore than one connection respectively and carrying out the communicationwith another relay server or other relay servers existing on theInternet, and control means for relaying the communication between thenetwork devices or between the network device and another relay serveror other relay servers by using the communication means. Preferably, thecontrol means manages the connection by the connection identifier whichmakes it possible to uniquely identify each connection to be used by thecommunication means for the communication with the network device,including a connection or connections related to another relay server orother relay severs which can carry out the communication. With suchstructure of the relay server and/or the like, when a plurality of relayservers exist on the Internet, the communication can be realized betweenthe network devices that are connected to different relay servers. Atthis time, by assigning, to each connection, the connection identifierthat is capable of uniquely identifying each connection in the entirecommunication system, the normal communication can be ensured even forthe connections that are connected to different relay servers.

[0014] In the case such a relay system includes a plurality of relayservers existing on the Internet, the connection identifier preferablyincludes a relay server identifier which makes it possible to identifyeach relay server as only one relay server (uniquely). A part of suchconnection identifier (for example, the relay server identifier) may beset in each relay server respectively in advance, or can be obtainedfrom a database server on the Internet. Of course, a relay server mayhave the same function as that of this database server.

[0015] Preferably, at the time the network device makes login, theconnection identifier which makes it possible to identify eachconnection corresponding to this login is sent back to the networkdevice. In this manner, it becomes possible for the network device toaccurately identify each connection when the network device uses eachconnection.

[0016] According to another aspect of the present invention, there isprovided a relay server including communication means capable ofcommunicating with a plurality of network devices, control means forrelaying the communication among a plurality of network devices via thecommunication means, and storing means for storing the connectioninformation concerning the network device for which the communication isbeing carried out by the control means. The control means preferablysends back the connection information stored in the storing means as aresponse to inquiry about the connection information which the controlmeans has received via the communication means from the network.Accordingly, for example, in advance, it is possible to grasp thecommunication condition of the destination with which the communicationwill be carried out. In addition to that, in the case in which the relayserver stores the information indicating the group comprised of aplurality of network devices for which the relay server relays thecommunication, it becomes possible to grasp the condition of the groupwhich is carrying out the communication in which participation can beapproved. Further, the inquiry can be carried out by specifying thenetwork device, or a search result of the connection information can beobtained by carrying out a search demand.

[0017] According to another aspect of the present invention, byreceiving indication information which indicates how to deal with theinquiry about the connection condition in advance, it is possible todetermine whether or not to send back the connection information whenreceiving the inquiry about the connection information actually.Accordingly, for example, for the communication that is undesirable tobe disclosed, it can be indicated for the replying of the connectioninformation to be not carried out, and for the disclosed communication,it can be indicated to send back the connection information, or it canbe indicated to send back the connection information to specificdestinations.

[0018] According to another aspect of the present invention, in the caseof relaying the communication among a plurality of network devices,another network device or other network devices can participate in thegroup comprised of these network devices, or it is possible to combinegroups or divide the group. Moreover, when another network device orother network devices participate, or the groups are combined, thenumber of the network devices or the like may be limited by providing anupper limit number.

[0019] According to another aspect of the present invention, even afterthe end of the relaying of the communication, the connection informationcan be held, and in accordance with the demand, based on the connectioninformation being held, the relaying of the communication can bereproduced. In such a case, by specifying the connection information,the reproduction can be demanded.

[0020] According to another aspect of the present invention, priority tothe communication with the network device can be provided, and thereby,the bandwidth can be ensured when necessary. Accordingly, for example,it is possible to deal with the communication by an application thatneeds real time characteristics.

[0021] Additional objects, aspects, benefits and advantages of thepresent invention will become apparent to those skilled in the art towhich the present invention pertains from the subsequent detaileddescription and the appended claims, taken in conjunction with theaccompanying drawings.

BREIF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a block diagram showing a first example of a relaysystem (a communication system) including a first embodiment of a relayserver of the present invention;

[0023]FIG. 2 is a sequence diagram showing an example of a communicationprocedure in the first example of the communication system of FIG. 1;

[0024]FIG. 3 is a block diagram showing a second example of the relaysystem (the communication system) including the first embodiment of therelay server of the present invention;

[0025]FIG. 4 is a sequence diagram showing an example of a communicationprocedure in the second example of the communication system;

[0026]FIG. 5 is a block diagram showing a third example of the relaysystem (the communication system) including the first embodiment of therelay server of the present invention;

[0027]FIG. 6 is a block diagram showing an example of the communicationsystem including a second embodiment of a relay server of the presentinvention;

[0028]FIGS. 7A and 7B are illustrations showing an example of aprocedure for carrying out communication among a plurality of networkapparatus in an example of the communication system including the secondembodiment of the relay server of the present invention;

[0029]FIGS. 8A and 8B are illustrations showing an example of aprocedure when participating in a group in an example of thecommunication system including the second embodiment of the relay serverof the present invention;

[0030]FIGS. 9A and 9B are illustrations showing an example of aprocedure when carrying out combining of groups in an example of thecommunication system including the second embodiment of the relay serverof the present invention;

[0031]FIGS. 10A and 10B are illustrations showing an example of aprocedure for ending the communication with the group in an example ofthe communication system including the second embodiment of the relayserver of the present invention;

[0032]FIGS. 11A and 11B are illustrations showing an example of aprocedure when dividing a group in an example of the communicationsystem including the second embodiment of the relay server of thepresent invention;

[0033]FIGS. 12A and 12B are illustrations showing an example of aprocedure when reproducing communication in an example of thecommunication system including the second embodiment of the relay serverof the present invention; and

[0034]FIG. 13 is a block diagram showing an example of a general systemusing the Internet.

DETAILED DESCRIPTION OF THE INVENTION

[0035] (First Embodiment)

[0036] A first embodiment of the present invention will be describedwith reference to the drawings. In FIG. 1 showing an first example of arelay system, the same reference numerals are attached to the same partsas those of FIG. 13, and overlapping description will be omitted. Thereference numeral 4 designates a relay server, 41 a communication unit,and 42 a control unit. The relay server 4 is connected to the Internet3, and has a global IP address. By using the global IP address, therelay server 4 can carry out the communication with various networkapparatus via the Internet 3.

[0037] The relay server 4 can be constructed so as to include thecommunication unit 41, the control unit 42, and the like. Thecommunication unit 41 is capable of carrying out the communication witha plurality of network devices via the Internet 3.

[0038] The control unit 42 receives, via the communication unit 41, alogin demand transmitted from the network apparatus, and secures acommunication path by maintaining the connection with the networkapparatus. Moreover, a connection identifier that is capable ofidentifying a connection uniquely is assigned to the connection with thenetwork apparatus, and the connection identifier is returned to thenetwork apparatus. After each connection identifier is assigned to eachconnection, the network apparatus and the control unit 42 identify eachof the connections by the connection identifier. Furthermore, aplurality of connections can be made with one network apparatus, and theconnection identifier is assigned to each of the connections. Theconnection identifier can be anything if it is able to identify each ofthe connections. For example, the connection identifier is an assignedserial number, the user ID transmitted at the time login is demanded,the serial number for the connection, the serial number for each userID, or the like.

[0039] Moreover, the control unit 42 receives the login demand, andestablishes a new connection as in the manner stated above, and when thecommunication path is secured, the communication path is maintaineduntil the logout. When the control unit 42 receives the connectiondemand information from the network device that is connected capable ofcarrying out the communication, by following the connection demandinformation, the control unit 42 relays the data forwarding between thenetwork device that is connected capable of carrying out thecommunication and the network device that demanded the connection.

[0040] For example, under the state in which the terminal 11 and theterminal 21 are connected capable of carrying out the communication, andthe communication path is secured, when receiving the connection demandinformation with the terminal 21 from the terminal 11, the control unit42 carries out forwarding of the data with the terminal 11, and alsocarries out forwarding of the data with the terminal 21, and thecommunication is realized between the terminal 11 and the terminal 21substantially. In this case, the terminal 11 is a network device withinthe local system 1, and the terminal 21 is a network device within thelocal system 2. The connection can be made from the relay server 4 tothe gateway 13 and the gateway 23, but the connection cannot be made tothe terminal 11 or the terminal 21. Moreover, as in the manner statedabove, the communication cannot be carried out directly between theterminal 11 and the terminal 21. However, by using the global IP addressof the relay server 4, the connection can be made from the terminal 11to the relay server 4 via the gateway 13, and from the terminal 21 tothe relay server 4 via the gateway 23. Therefore, by carrying out thelogin demand from the terminal 11 or the terminal 21 to the relay server4, the communication can be carried out in both directions between therelay server 4 and the terminal 11 or the terminal 21 which carried outthe login demand.

[0041] In the case the communication can be carried out in bothdirections between the relay server 4 and the terminal 11, and betweenthe relay server 4 and the terminal 21 as in the manner stated above,when the relay server 4 receives the communication demand to theterminal 21 from the terminal 11, the relay server 4 receives the datatransmitted from the terminal 11, and transmits the received data to theterminal 21. Accordingly, the data is forwarded from the terminal 11 tothe terminal 21. On the other hand, the relay server 4 is also capableof receiving the data transmitted from the terminal 21, and transmittingthe received data to the terminal 11. As in the manner stated above, thecommunication can be realized between the terminal 11 and the terminal21.

[0042] Further, in the case a plurality of connections are secured withone network device, the relay server 4 is capable of relaying thecommunication with a plurality of network devices. In this case, each ofthe connections is distinguished by the connection identifier, and thecontrol unit 42 controls the relay communication so that eachcommunication can be carried out normally.

[0043] The communication procedure shown in FIG. 2 is carried out byusing TCP/IP (Transmission Control Protocol/Internet Protocol), and inthis procedure, the connection with the relay server 4, the continuationof the connection, the connection demand to the terminal, the forwardingof the data to the terminal, the end of the connection with theterminal, the end of the connection with the relay server, and so forthare carried out. As one example, FIG. 2 shows a case in which thecommunication is carried out between the terminal 11 within the localsystem 1 and the terminal 21 within the local system 2 which are shownin FIG. 1. The terminal 11 and the terminal 21 are registered as usersto the relay server 4 in advance. For example, the user ID, thepassword, or the like is registered to the relay server 4.

[0044] For example, after being started or by the instruction of anoperator, in (1), the terminal 11 is connected to the relay server 4 viathe gateway 13, carries out the login demand, and establishes the TCP/IPconnection (connection 1) with the relay server 4. Since the terminal 11is a network device within the local system 1, the communication cannotbe carried out directly from the relay server 4, but by the login fromthe terminal 11 which is a client, the connection can be made to therelay server 4. Since the TCP/IP connection is capable of carrying outthe data communication in both directions, the communication can becarried out from the terminal 11 to the relay server 4, or from therelay server 4 to the terminal 11. Further, the global IP address of therelay server 4 can be obtained from a name service server within each ofthe local systems or on the Internet.

[0045] After the connection 1 is established, in (2), the terminal 11transmits the user ID and the password to the relay server 4. The relayserver 4 examines whether or not the received user ID and the passwordare held as connection information in the control unit 42, and carriesout authentication of the terminal 11. By the authentication, theconnection with an unspecified third party can be avoided, and thesafety can be maintained. In the case of failing in the authenticationin that the connection information is not registered or in that thepassword is incorrect, the relay server 4 carries out a negativeresponse to the terminal 11, or disconnects the connection 1.

[0046] In the case the authentication succeeds, the terminal 11 carriesout a positive response to the relay server 4 in (3). At this time, theconnection identifier that is capable of identifying the connection 1uniquely is assigned to the connection 1, and the assigned connectionidentifier is returned to the terminal 11 along with the positiveresponse. After that, when terminal 11 uses the connection 1, theassigned connection identifier is used.

[0047] When the processing of the login is completed as in the mannerstated above, the terminal 11 performs control so as to continue theconnection 1 until the connection 1 is disconnected. Therefore, theterminal 11 transmits a connection holding command to the relay server 4periodically in (4), and the response of confirmation of it is obtainedfrom the relay server 4 in (5). In this manner, the connection is held,and the confirmation of whether the relay server 4 is working normallyis carried out.

[0048] As in the same manner, the terminal 21 makes connection to therelay server 4 via the gateway 23 in (1′), carries out the login demand,and establishes the TCP/IP connection (connection 2) with the relayserver 4. Since the terminal 21 is also a network device within thelocal system 2, the communication cannot be carried out directly fromthe relay server 4, but the connection can be made to the relay server 4by the login from the terminal 21 which is a client. By the connection2, the communication can be carried out from the terminal 21 to therelay server 4, or from the relay server 4 to the terminal 21.

[0049] After the connection 2 is established, the terminal 21 transmitsthe user ID and the password to the relay server 4 in (2′). The relayserver 4 examines whether or not the received user ID and the passwordare held as the connection information in the control unit 42, andcarries out the authentication of the terminal 21. In the case offailing in the authentication in that the connection information is notregistered or in that the password is incorrect, the relay server 4carries out the negative response to the terminal 21, or disconnects theconnections 2. In the case the authentication succeeds, the relay server4 carries out the positive response in (3′). At this time, theconnection identifier that is capable of identifying the connection 2uniquely is assigned to the connection 2, and the assigned connectionidentifier is returned to the terminal 21 along with the positiveresponse. After that, when the terminal 21 uses the connection 2, theassigned connection identifier is used.

[0050] When the processing at the time of the login is completed in themanner stated above, until the connection 2 is disconnected, theterminal 21 makes control so as to continue the connection 2. Therefore,the terminal 21 transmits the connection holding command to the relayserver 4 periodically in (4′), and obtains the response of theconfirmation of it from the relay server 4 in (5′). Accordingly, theconnection is held, and the confirmation of whether the relay server isworking normally is carried out.

[0051] Further, the connection between the terminal 11 and the relayserver 4, and the connection between the terminal 21 and the relayserver 4 can be carried out at any time so long as it is before bothcommunication is carried out. Moreover, it is necessary for theconnection between the terminal 11 and the relay server 4, and theconnection between the terminal 21 and the relay server 4 to becontinued until both communication is carried out.

[0052] When a demand is generated that the connection is to be made fromthe terminal 11 to the terminal 21, the terminal 11 designates the userID of the terminal 21 to which the terminal 11 intends to make theconnection, and the terminal 11 carries out the connection demand to therelay server 4 in (6). Further, the user ID of the terminal 21 which isto be the connection destination can be obtained in advance ordesignated by any methods. For example, the user ID of the terminal 21is designated by making confirmation of a list or the like of userswhich are in the login state. This list can be obtained from the relayserver 4. When the terminal 21 corresponding to the designated user IDis not in the login state (the state in which the vacant connection ispresent), the relay server 4 returns an error message to the terminal11. Moreover, when the terminal 21 is in the login state, in (7), therelay server 4 transmits the connection demand notification includingthe information that there is the connection demand to the terminal 21and including the user ID of the terminal 11 which is demanding theconnection, through any connection that is vacant. In this example, theconnection demand notification is transmitted to the terminal 21 throughthe connection 2.

[0053] The terminal 21 stores that the connection used in thetransmission of the connection demand notification is used in theconnection with the terminal 11, and in (8), the terminal 21 returns theresponse for accepting the connection. Further, when rejecting theconnection, the terminal 21 returns an error message. The relay server 4sends back the response from the terminal 21 to the terminal 11 in (9).In the case the response from the terminal 21 is a response foraccepting the connection, the relay server 4 stores that the connection1 is to be used in the communication with the terminal 11, and theconnection 2 is to be used in the communication with the terminal 21.Moreover, in the case of receiving the response for accepting theconnection, the terminal 11 which received the response from theterminal 21 stores that the connection in use (connection 1) is to beused for the communication with the terminal 21.

[0054] After confirming that the communication is to be carried outbetween the terminal 11 and the terminal 21 as in the manner statedabove, the data is transmitted actually after (15). Further, in theexample shown in FIG. 2, after it is determined that the communicationis to be carried out between the terminal 11 and the terminal 21, boththe terminal 11 and the terminal 21 establish new TCP/IP connectionswith the relay server 4 respectively in order to accept the connectiondemand from the other network apparatus, or carry out the connectiondemand to other network apparatus. In other words, the terminal 11 makesthe login to the relay server 4, and establishes the TCP/IP connection(connection 3) with the relay server 4 in (10), and the terminal 11transmits the user ID and the password to the relay server 4 in (11).The relay server 4 carries out the authentication of the terminal 11 bythe received user ID and password, and in (12), returns the response. Atthis time, the connection identifier which differs from those of anyother connections including the connection 1 and the connection 2 isassigned to the connection 3, and the assigned connection identifier isreturned to the terminal 11 along with the response of (12) through theconnection 3. After that, the terminal 11 transmits the connectionholding command to the relay server 4 periodically in (13) to maintainthe connection 3, and the relay server 4 returns the response to theterminal 11 in (14).

[0055] As in the same manner, the terminal 21 makes the login to therelay server 4, and establishes the TCP/IP connection (connection 4)with the relay server 4 in (10′). Subsequently, the terminal 21transmits the user ID and the password to the relay server 4 in (11′).The relay server 4 carries out the authentication of the terminal 21 bythe received user ID and the password, and returns the response in(12′). At this time, the connection identifier which differs from thoseof any other connections including the connections 1, 2, and 3 isassigned to the connection 4, and the assigned connection identifier isreturned to the terminal 21 along with the response of (12′) through theconnection 4. After that, the terminal 21 transmits the connectionholding command to the relay server 4 periodically in (13′) to maintainthe connection 4, and the relay server 4 returns the response to theterminal 21 in (14′).

[0056] Further, in the case it is not necessary to secure such a vacantconnection, the processes of (10) to (14) or (10′) to (14′) are notnecessary. Furthermore, in the case a plurality of connections have beenalready secured, these processes are not required to be carried out.Moreover, also in the case the upper limit number of connections is set,and any further connection cannot be carried out, such processes are notcarried out.

[0057] When confirming that the communication is to be carried outbetween the terminal 11 and the terminal 21 in (6) to (9), the terminal11 transmits the data for the terminal 21 to the relay server 4 throughthe connection 1 in (15). The relay server 4 receives the data from theterminal 11, and transmits the received data to the terminal 21 throughthe connection 2 in (16). The terminal 21 receives the data from theterminal 11 transmitted from the relay server 4 through the connection2, and in (17), terminal 21 transmits the response for the terminal 11to the relay server 4. The relay server 4 receives the response to theterminal 11 from the terminal 21, and in (18), the relay server 4transmits the received response to the terminal 11 through theconnection 1.

[0058] As in the manner stated above, by using the connection 1 betweenthe terminal 11 and the relay server 4, and the connection 2 between theterminal 21 and the relay server 4, and by relaying the data by therelay server 4, the communication can be carried out between theterminal 11 and the terminal 21. Further, the data forwarding from theterminal 11 to the terminal 21 in (15) to (18) can be repeated severaltimes. Moreover, the data forwarding can be carried out from theterminal 21 to the terminal 11.

[0059] When the data forwarding is completed between the terminal 11 andthe terminal 21, end notification is carried out from the terminal 11 orthe terminal 21. In this example, it is assumed that the endnotification is carried out from the terminal 11, and the terminal 11transmits the end notification for the terminal 21 to the relay server 4through the connection 1 in (19). The relay server 4 transmits the endnotification for the terminal 21 which has been received from theterminal 11, to the terminal 21 through the connection 2 in (20). Theterminal 11 which transmitted the end notification also transmitsreleasing notification to the relay server 4 in (21). This releasingnotification indicates that the connection 1 has become vacant.Moreover, the terminal 21 which received the end notification alsotransmits the releasing notification to the relay server 4 in (21′),indicating that the connection 2 has become vacant. Accordingly, therelay server 4 stores that the connection 1 and the connection 2 are notused for the communication between the terminal 11 and the terminal 21,and that the connections have become vacant. Further, in this example,the response to the end notification is not carried out, but theresponse may be sent back.

[0060] By performing the connection holding command and the response ofit periodically as shown in (4), (5), or (4′), (5), the connection 1 andthe connection 2 which were released in such a manner are maintainedbetween the terminal 11 and the relay server 4, and between the terminal21 and the relay server 4

[0061] At this time, the connection 1 and the connection 3 are securedbetween the terminal 11 and the relay server 4. In addition to that, theconnection 2 and the connection 4 are also secured between the terminal21 and the relay server 4. These connections may be maintained as it is,or when the connection 1 and the connection 2 are released, theseconnections may be disconnected. Alternatively, the connection 1 and theconnection 2 may be continued, and the connection 3 and the connection 4may be disconnected.

[0062] In the case the terminal 11 cuts power supply from a powersource, or in the case the connection to the relay server 4 is ceased,in (22), the terminal 11 notifies the logout to the relay server 4. Atthis time, in the case a plurality of connections are secured, thenotification of the logout can be carried out through any connection.Subsequently, the terminal 11 disconnects all connections, and ends thecommunication. In this example, the connection 1 is disconnected in(23), the connection 3 is disconnected in (24), and then thecommunication is ended. The relay server 4 receives the notification ofthe logout from the terminal 11, recognizes the logout of the terminal11, and disconnects all connections (connection 1, connection 3) withthe terminal 11. The same processes can apply to the case in which theterminal 21 performs the logout.

[0063] By carrying out the above-mentioned procedure, even in the caseboth of or one of the terminals is a network apparatus within the localsystem or the local systems, the communication can be carried out.Further, it is possible to make the procedure for carrying out theconnection with the relay server 4, continuing the connection, demandingthe connection to the terminal, transmitting the data to the terminal,ending the connection with the terminal, and ending the connection withthe relay server so as to maintain permeability to and give no influenceon the command or the data exchanged by the application protocol workingin an upper level, and it is possible to carry out the communication byusing the existing application protocol as it is.

[0064] A second example of the relay system including the relay serverof the first embodiment of the present invention will be described. InFIG. 3, the same reference numerals are attached to the same parts asthose of FIG. 1, and the overlapping description will be omitted. Thereference numeral 4A designates a relay server. In the second example ofthe relay system, a plurality of relay servers exist on the Internet 3.In this example of FIG. 3, only two relay servers 4 and 4A are shown,but more relay servers can exist.

[0065] The relay server 4 and a relay server 4A have the same structure,and each of the relay servers can be connected to one or a plurality ofthe network devices to carry out the communication. Furthermore, therelay server 4 and the relay server 4A perform the communication witheach other so that the communication can be carried out between thenetwork device which has made the login to the relay server 4 and thenetwork device which has made the login to the relay server 4A.

[0066] For example, the terminal 11 secures a connection to the relayserver 4 via the gateway device 13, and the terminal 21 secure aconnection to the relay server 4A via the gateway device 23. After that,when the connection demand is carried out from the terminal 11 to theterminal 21, the relay server 4 relays the connection demand to therelay server 4A, the relay server 4A relays the connection demand to theterminal 21, and in this manner, the connection demand from the terminal11 arrives at the terminal 21. By using the same path, the informationcan be forwarded from the terminal 11 to the terminal 21. Moreover, byusing the path of an opposite direction, the information can beforwarded from the terminal 21 to the terminal 11.

[0067] In such a relay system in which a plurality of relay serversexist on the Internet 3, it is necessary that the connection provided bymaking the login to each of the relay servers should be identifieduniquely or as one connection in the entire relay system. In otherwords, it is necessary that each connection with one relay server shouldbe identified uniquely or as one connection, and be also distinguishedfrom any connections with other relay servers. Therefore, it is requiredthat the same connection identifier to be assigned to a connectionshould not be used again within the relay system.

[0068] As one method, it can be proposed that the relay servers assignserial numbers as connection identifiers in cooperation with each othersuch that the serial numbers do not overlap each other. In this case, itis necessary to eliminate the overlapping of the connection identifierswhen the login demands are made to different relay servers almostsimultaneously. For this reason, for example, an identifier server canbe provided for assigning the connection identifier such that theassignment of the connection identifier must be received from theidentifier server without a fail. Alternatively, a range of theassignable connection identifier can be determined to each relay serverin advance, and each relay server can assign connection identifiers torespective connections by using determined range of connectionidentifiers. That is, each relay server can use connection identifierswithin the determined range.

[0069] In addition to that, for assigning the connection identifier moreeasily, relay server identifiers which do not overlap each other withinthe relay system can be assigned to respective relay servers. Aconnection identifier including the relay server identifier is assignedto each of the connections. By creating connection identifiers as insuch a manner, even when respective relay servers create connectionidentifiers independently of each other, the connection identifierswhich do not overlap each other within the relay system can be createdand assigned.

[0070] Furthermore, by using the user ID, different identifiers can beused to respective network devices related to respective relay servers.In other words, when using the relay server identifier and the user ID,“user ID+relay server identifier+connection number” can be used as theconnection identifier. It is generally ensured that the user IDs do notoverlap each other overlap within the relay system. In addition to that,as in the manner stated above, it is ensured that the relay serveridentifiers also do not overlap each other within the relay system.Therefore, by using connection numbers which are assigned to respectiveconnections of each network device and are guaranteed to overlap eachother, it is possible to ensure that the connection identifiers do notoverlap each other within the relay system, and identify each connectionuniquely or as one connection within the relay system.

[0071] A procedure in the second example of the relay system includingthe relay server of the first embodiment of the present invention willbe described with reference to FIG. 4. In FIG. 4, the same processnumbers are attached to the same processes of FIG. 2. In this example,the connection is made between the terminal 11 of the local system 1 andthe relay server 4, the connection is made between the terminal 21 ofthe local system 2 and the relay server 4, and the communication iscarried out between the terminal 11 and the terminal 21.

[0072] The terminal 11 makes the login to the relay server 4 in (1) to(3). The relay server 4 returns the connection identifier of theconnection 1 to the terminal 11 at the time the response is made in (3).For example, the connection identifier can be created based on the userID transmitted from the terminal 11, the relay server identifier of therelay server 4, and the connection number assigned to the connection 1.After that, when the terminal 11 carries out the communication by usingthe connection 1, the connection identifier corresponding to theconnection 1 is used. The connection 1 is then held by the connectionholding command in (4) and the response of it in (5).

[0073] As in the same manner, the terminal 21 makes the login to therelay server 4A in (1′) to (3′). The relay server 4A returns theconnection identifier of the connection 2 to the terminal 21 at the timethe response is made in (3′). For example, at this time, the connectionidentifier can also be created based on the user ID transmitted from theterminal 21, the relay server identifier of the relay server 4A, and theconnection number assigned to the connection 2. The created connectionidentifier does not overlap any other connection identifiers in theentire relay system. After that, when the terminal 21 carries out thecommunication by using the connection 2, the connection identifiercorresponding to the connection 2 is used. The connection 2 is then heldby the connection holding command in (4′) and the response of it in(5′).

[0074] When carrying out the communication from the terminal 11 to theterminal 21, the terminal 11 carries out the connection demand to therelay server 4 in (6). The relay server 4 detects that the terminal 21of the destination is connected to the relay server 4A, and in (25), therelay server 4 forwards the connection demand received from the terminal11 to the relay server 4A. Various methods can be used in order todetermine which relay server the destination is connected to. Forexample, the information concerning the connection is exchanged betweenthe relay servers in advance, or each relay server is asked at the timenecessity is generated, or the database server is asked which carriesout the management of the users that are connected to the respectiverelay servers.

[0075] The relay server 4A forwards the connection demand forwarded fromthe relay server 4 to the terminal 21 in (7). The response to theconnection demand is forwarded to the terminal 11 through the same pathin an opposite direction. In other words, the response is forwarded fromthe terminal 21 to the terminal 11 via the relay server 4A and the relayserver 4. The data is forwarded from the terminal 11 to the terminal 21in (15), (27), and (16) through the same path, and the response can bereturned in (17), (28), (18).

[0076] In the same manner as the case of the connections 1 and 2, theconnection 3 is secured in (10) to (12) and maintained in (13) and (14),and the connection 4 is also maintained in (10′) to (12′) and maintainedin (13′) and (14′). Furthermore, the processes at the time of the logoutare performed in the same manner as processes shown in FIG. 2.

[0077] As in the manner stated above, the communication can be carriedout between the network devices that are connected to different relayservers. Further, still more relay servers can be provided on theInternet 3, the relay server for relaying the communication between therelay servers can be provided, and thereby the communication between thenetwork devices can be realized by relaying through a plurality of relayservers. Of course, the communication between the network devices thatare connected to the same relay server can be carried out in the samemanner as the above-mentioned first example.

[0078] A third example of the relay system including the relay server ofthe first embodiment of the present invention will be described. In FIG.5, the same reference numerals are attached to the same parts of FIG. 2,and the overlapping description will be omitted. The reference numeral 6designates a database server. In the second example, the respectiverelay server identifiers which can be identified uniquely or as oneconnection are attached to the respective relay servers on the Internet3 in advance. However, in the case a new relay server is added to therelay system, a relay server identifier which is different from anyother identifiers is required to be attached to the new relay server.Accordingly, there is possibility that management cost for dealing withthe new relay server identifier is increased.

[0079] In the third example shown in FIG. 5, the database server 6 formanaging the relay server identifiers is provided to reduce such aproblem. The database server 6 manages the relay server identifiersassigned to the relay server within the relay system. Moreover, when anew relay server is added to the relay system, the database server 6assigns a new relay server identifier which does not overlap any otherrelay server identifiers. The relay server added to the relay systemaccesses the database server 6 to obtain the relay server identifier.After that, the relay server starts the relay processing.

[0080] By forming the relay system in the manner stated above, theburden on the management of the relay server identifier by human handscan be reduced, and the assignment of the relay server identifiers whichdo not overlap each other within the relay system can be carried out.Furthermore, since it is ensured that the respective relay serveridentifiers overlap each other, and the respective relay servers createconnection identifiers which do not overlap each other within therespective relay servers by using the respective relay serveridentifiers as one part of connection identifiers, it is possible toassign, to the respective connections, the connection identifiers whichdo not overlap each other within the entire relay system.

[0081] Further, the database server 6 can be provided apart from therelay servers as shown in FIG. 5, or any one of the relay servers withinthe relay system can carry out the same function as that of the databaseserver.

[0082] (Second Embodiment)

[0083] According to a second embodiment of the present invention,communication system as well as a relay server will be described withreference to the drawings. In FIG. 6, the same reference numbers areattached to the same parts as those of FIG. 13, and the overlappingdescription will be omitted. The reference numeral 104 designates arelay server, 141 a communication unit, 142 a control unit, 143 aconnection information storing unit, 5 a local system, 51 a terminal, 52a gateway, and 53 a LAN. Only one terminal is shown in each localsystem, but a plurality of terminals can be provided.

[0084] The local system 5 is the same system as the local system 1 andthe local system 2, and the terminal 51, the gateway 52 and the like areconnected by the LAN 53 to form the local system 5. The gateway 52 isconnected to the Internet 3 along with the LAN 53, and the Internet canbe used from various network apparatus such as the terminal 51 on theLAN 53.

[0085] The relay server 104 is connected to the Internet 3, and has theglobal IP address. The relay server 104 can carry out the communicationwith various network apparatus via the Internet 3 by using the global IPaddress. The relay server 104 can be provided with the communicationunit 141, the control unit 142, the connection information storing unit143, and the like. The communication unit 141 is capable of carrying outthe communication with a plurality of network apparatus via the Internet3.

[0086] The control unit 142 receives the login demand transmitted fromthe network apparatus via the communication unit 141, and secures thecommunication path by maintaining the connection with the networkapparatus. Moreover, when the control unit 142 receives the logindemand, and the communication path is secured as in the manner statedabove, the communication path is maintained until the logout. Inaddition, a plurality of connections can be made with one networkapparatus. When receiving the connection demand information from thenetwork apparatus that is connected capable of carrying out thecommunication, by following the connection demand information, thecontrol unit 142 relays the data forwarding between the networkapparatus that demanded the connection and the network apparatus whichreceived the demand for the connection and connected to the relay server104 such that the communication can be carried out, or between thenetwork apparatus which demanded the connection and the group formed bya plurality of network apparatus which is connected to the relay server104 such that the communication can be carried out. Accordingly, thecommunication is realized between the network apparatus. For example, itis possible to realize the communication between one network apparatusand a plurality of network apparatus, or between a plurality of networkapparatus and a plurality of network apparatus. In other words,one-to-plural or plural-to-plural communication can be realized. Ofcourse, it is possible to carry out the communication between onenetwork apparatus and one network apparatus. In other words, one-to-onecommunication can be realized.

[0087] In the case the relay server is relaying the data forwarding witheach network apparatus, the connection information storing unit 143stores the connection information of the network apparatus between whichthe relaying of the communication is being carried out. For example,when the one-to-one communication is being carried, the information forspecifying the network apparatus of both sides can be stored as theconnection information. Alternatively, the information concerning thegroup formed by a plurality of network apparatus can be stored as theconnection information. Such connection information can be disclosed toa part of or all of the other network apparatus in accordance with thesetting from the network apparatus that is carrying out thecommunication. The setting can be carried out, for example, bydetermining it in advance, or indicating it at the time or after thenetwork apparatus makes the login to the relay server 104.

[0088] Moreover, the control unit 142 receives a reference demand or asearch demand concerning the connection information from other networkapparatus which are in connection with the relay server 104, andsearches for the connection information stored in the connectioninformation storing unit 143. If the setting has been made such that theconnection information resulting from the searching can be disclosed,the relay server 104 sends back this connection information to thenetwork device which demanded the connection information. At the networkapparatus which demanded the connection information, based on theconnection information received from the relay server 104, bydesignating the desired network apparatus or the group and transmittingthe connection demand to the relay server 104, the communication can becarried out with the designated network apparatus or the group. Inaddition, following a demand from the network apparatus that is carryingout the communication, for example, the communication can be ended, orthe group or groups can be divided or combined.

[0089] Furthermore, following the demand from the network apparatus, thecontrol unit 142 takes out the connection information of thecommunication which was carried out in the past from the connectioninformation storing unit 143, and can relay the communication betweenthe network apparatus which are in the login state based on thisconnection information. Accordingly, for example, the communication canbe started easily in the group of a plurality of network apparatus thatcarries out the communication frequently.

[0090] A procedure in one example of the relay system including therelay server of the second embodiment of the present invention will bedescribed with reference to FIGS. 7A and 7B. Further, in each of thedrawings, the gateway and the like are omitted, and the only TCP/IPconnection between each terminal (network apparatus) and the relayserver 104 is shown. As for lines showing each connection in thedrawings, a broken line shows the condition in which the connection isnot used for the communication with other network apparatus by theprotocol of application layer (application level), and a solid lineshows the condition in which the connection is used for thecommunication with other network apparatus. The same lines are appliedto the drawings to be used for the description of the procedure.

[0091] In FIG. 7A, the terminal 11 is connected capable of carrying outthe communication with the relay server 104 by the connection 11.Moreover, as in the same manner, the terminal 21 is connected capable ofcarrying out the communication with the relay server 104 by theconnection 12, and the terminal 51 is connected capable of carrying outthe communication with the relay server 104 by the connection 13.Further, at this point, it is assumed that each connection is not to beused for the communication with other network apparatus.

[0092] The reservation (securing) of the connection with the relayserver 104 can be carried out by demanding the login to the relay server104 via the Internet 3. The connection is established with the relayserver 104 at the time of the login, and then, the communication can becarried out with the relay server 104 by using the establishedconnection. The terminal 11 is a network apparatus within the localsystem 1, the terminal 21 is a network apparatus within the local system2, and the terminal 51 is a network apparatus within the local system 5.The connection can be made from the relay server 104 to the gateway 13,the gateway 23, and the gateway 52, but the connection cannot be madedirectly to the terminal 11, the terminal 21, and the terminal 51.Moreover, as in the manner stated above, the direct communication cannotbe carried out reciprocally between the terminal 11, the terminal 21,and the terminal 51. However, by using the global IP address of therelay server 104, the connection can be made from the terminal 11, theterminal 21, and the terminal 51 to the relay server 104 via the gateway13, the gateway 23, and the gateway 52. Therefore, by carrying out thelogin demand from the terminal 11, the terminal 21, and the terminal 51to the relay server 104, the communication can be carried out in bothdirections between the relay server 104 and the terminal 11, theterminal 21, or the terminal 51 which carried out the login demand.

[0093] Moreover, at the time of the login, for example, the informationwhich is necessary at the time of the login, such as the user ID, thepassword or the like, is transmitted from the network apparatus to therelay server 104. The relay server 104 carries out the authenticationbased on the received user ID and the password or the like. By thisauthentication, the connection with an unspecified third party can beavoided, and the safety can be secured. In the case of failing in theauthentication in that the connection information is not registered orin that the password is incorrect, the relay server 104 carries out thenegative response to the terminal 11, or disconnects the connection 11.In the case the authentication succeeds, the positive response iscarried out to the network apparatus that made the login, and then,until the connection is disconnected, the connection is controlled to becontinued. In other words, the connection can be continued bytransmitting the connection holding command to the relay server 104periodically, and obtaining the response of the confirmation from therelay server 104.

[0094] Furthermore, various setting information can be transmitted tothe relay server 104 at the time of the login. For example, when thenetwork apparatus that made the login is carrying out the communicationwith other network apparatus, the setting can be made to disclose or tonotify the connection information to a part of or all of the othernetwork apparatus, or not to disclose or notify it. Moreover, suchsetting can be changed actively even after the login.

[0095] By the above-mentioned login demand, for example, under the statein which the terminal 11, the terminal 21, and the terminal 51 areconnected to the relay server 104 respectively in the manner thecommunication can be carried out, and in which the communication pathsare secured, as an example, the connection demand information for theterminal 21 and the terminal 51 is transmitted from the terminal 11 tothe relay server 104. When the relay server 104 receives the connectiondemand information from the terminal 11, the destination indicated inthe connection demand information is recognized as the terminal 21 andthe terminal 51, and the connection demand information from the terminal11 is forwarded through the connection 12 secured between the terminal21 and the relay server 104, and the connection 13 secured between theterminal 51 and the relay server 104. In the case the response returnedfrom the terminal 21 is the positive response, the relay server 104stores the connection 12 secured for the terminal 21 as the connectionto be used for the communication with the terminal 11. In the case theresponse returned from the terminal 51 is the positive response, therelay server 104 stores the connection 13 secured for the terminal 51 asthe connection to be used for the communication with the terminal 11.Then, the relay server 104 sends back the response returned from each ofthe terminal 21 and the terminal 51 to the terminal 11.

[0096] When the terminal 21 and the terminal 51 carry out the positiveresponse to the connection demand from the terminal 11, as shown in FIG.7B, the communication can be carried out from the terminal 11 to theterminal 21 and the terminal 51. In other words, the relay server 104receives the information transmitted from the terminal 11 through theconnection 11, and forwards the received information to the terminal 21through the connection 12, and forwards it to the terminal 51 throughthe connection 13. Accordingly, the information transmitted from theterminal 11 through one connection is to reach a plurality of terminals(the terminal 21 and the terminal 51). Moreover, in the case thepositive response is returned from only a part of the network apparatus,the only network apparatus that carried out the positive responsebecomes the target to which the communication is relayed.

[0097] On the other hand, since by each connection, the communicationcan be carried out in both directions, the relay server 104 can receivethe data transmitted from the terminal 21, and transmit the receiveddata to the terminal 11, or the relay server 104 can receive the datatransmitted from the terminal 51, and transmit the received data to theterminal 11. As in the manner stated above, by using one connectionbetween the terminal 11 and the relay server 104, the one-to-pluralcommunication can be realized with a plurality of network apparatus,such as the terminal 21, the terminal 51 and the like. Furthermore, thedata transmitted from the terminal 21 can be transmitted to the terminal11 and the terminal 51, and the data transmitted from the terminal 51can be received by the relay server 104, and the received data can betransmitted to the terminal 11 and the terminal 21.

[0098] When the communication is being carried out among a plurality ofnetwork apparatus as in the manner stated above, regarding the groupcomposed of the network apparatus that are carrying out thecommunication, the information designating the group, such as the groupname or the keyword, can be registered as the connection information.The registration can be carried out in accordance with the demand fromthe network apparatus that is a member of the group. Alternatively, inadvance, the information for designating the group may be set so as tocorrespond to the network apparatus of the member. The setting can bemade regarding whether or not to disclose the information designatingthe group to the other network apparatus, or to disclose it to only apart of the network apparatus.

[0099] Such connection information can be searched for from othernetwork apparatus. For example, in the case the name of the group, thekeyword, or the like is registered as the connection information, thesearch for the keyword can be requested to the relay server 104 fromother network apparatus. At the relay server 104, when receiving thesearch demand, the control unit 142 searches for the connectioninformation stored in the connection information storing unit 143.Subsequently, among the connection information resulting from thesearch, the relay server 104 replies to the network apparatus of theorigin that the only connection information is disclosed to the originwhich demanded the searching of the connection information. Of course,apart from the keyword searching, by specifying the ID of the networkapparatus or the like, the disclosure of the connection information ofthis network apparatus can be requested. In addition, it is possible todemand all the information that is disclosed to the network apparatus ofthe origin, among the connection information of the network apparatusor/and the group(s) that are carrying out the communication.

[0100] By such searching of the connection information, for example, theuser that is using the network apparatus of the origin can learn whetheror not the destination with which the network apparatus of the origindemanding the connection information intends to carry out thecommunication is in the communication state, or which group is a groupin which the network apparatus of the origin intends to participate. Bysuch searching, the network apparatus of the origin can participate inthe group that is carrying out the communication in the manner to bedescribed as follows.

[0101] A procedure for participating in a group in one example of thecommunication system including the second embodiment of the relay serverof the present invention will be described with reference to FIGS. 8Aand 8B. In FIGS. 8A and 8B, the reference number 61 designates aterminal. In the example shown in FIGS. 8A and 8B, the terminal 61 newlyparticipates under the state in which the communication is being carriedout among three parties, i.e., the terminal 11, the terminal 21, and theterminal 51. Further, the terminal 61 is a network apparatus similar tothe terminal 11, the terminal 21, the terminal 51, or the like. It isassumed that the terminal 61 makes the login to the relay server 104 inadvance, and thereby, the connection is secured with the relay server104.

[0102] In FIG. 8A, the terminal 11, the terminal 21, and the terminal 51carry out the data forwarding with the relay server 104, and by relayingthe data forwarding by the relay server 104, the communication isrealized among the terminal 11, the terminal 21, and the terminal 51. Atthis time, the terminal 11, the terminal 21, and the terminal 51 formthe group, and the information for specifying the group is stored as theconnection information in the connection information storing unit 143within the relay server 104. Further, it is to be assumed that theconnection information of the group formed by the terminal 11, theterminal 21, and the terminal 51 is set such that the connectioninformation can be disclosed to at least the terminal 61.

[0103] Under this state, by demanding the searching of the connectioninformation to the relay server 104 as in the manner stated above, theterminal 61 can obtain various connection information including theconnection information of the group formed by the terminal 11, theterminal 21, and the terminal 51. When the terminal 61 joins the groupthat is formed by the terminal 11, the terminal 21, and the terminal 51,the terminal 61 carries out a connection demand to the relay server 104by using the connection information of the group formed by the terminals11, 21, and 51 out of the obtained connection information. When theconnection demand is approved, as shown in FIG. 8B, the terminal 61joins the group, and the communication can be carried out among therespective terminals in the group that is formed by the terminal 11, theterminal 21, the terminal 51, and the terminal 61.

[0104] The setting of the approval of the connection demand may be madein advance, for example, such that other network apparatus can or cannotjoin the group, such that only transmission from other network apparatuscan be approved, or such that only receiving from other networkapparatus can be approved. Alternatively, the approval of the connectiondemand may be carried out by asking each network apparatus in the groupor a representative of the network apparatus about whether or not theparticipation in the group is approved, and the result of the asking maybe followed.

[0105] Moreover, an upper limit can be provided for the number of thenetwork apparatus that can participate in the group, and thereby, thenumber of the network apparatus which can participate can be limited. Inthis case, the relay server 104 may reject further participation in thegroup in which the upper limit number of the network apparatus havealready participated.

[0106] A procedure for combining groups in one example of thecommunication system including the second embodiment of the relay serverof the present invention will be described with reference to FIGS. 9Aand 9B. In FIGS. 9A and 9B, the reference numerals 71, 81 designateterminals. In the example shown in FIGS. 8A and 8B, it was shown of acase in which one network apparatus (terminal 61) participates in thegroup. Apart from this case, it is possible for the groups to becombined. In the example shown in FIG. 9A, the terminal 11, the terminal21, and the terminal 51 are carrying out the communication reciprocallyby the relaying of the relay server 104, and form a group (a). Inaddition, the terminal 61, the terminal 71, and the terminal 81 arecarrying out the communication reciprocally by the relaying of the relayserver 104, and form a group (b). The relay server 104 is capable ofrelaying each of the communication in each of a plurality of groups asin the manner stated above. Under the state shown in FIG. 9A, since thegroup (a) and the group (b) are carrying out the communicationindependently of each other, the mutual communication between the groups(a) and (b) cannot be carried out.

[0107] Under this state, the connection information of the group (a) isdisclosed to at least one of the terminals of the group (b), and thedemand to combine the groups is carried out from the group (b) to thegroup (a). In such a case, the terminal that is a member of the group(b), for example, the terminal 61, demands the searching of theconnection information to the relay server 104 as in the manner statedabove, and obtains various connection information including theconnection information of the group (a). Then, by using the obtainedconnection information of the group (a), the terminal of the group (b)demands the combining with the group (a) to the relay server 104. Therelay server 104 notifies the demand to combine to the group (a), andwhen it is approved, as shown in FIG. 9B, the group (b) combines withthe group (a), and the communication can be carried out among therespective terminals within the group that is formed by the terminal 11,the terminal 21, the terminal 51, the terminal 61, the terminal 71, andthe terminal 81.

[0108] Further, when demanding the combining, for example, the approvalfrom each network apparatus within the group can be obtained, or in thecase there is the network apparatus that represents the group, theorigin which demands the combining can be limited such that thecombining demand is carried out from the network apparatus whichrepresents the group. Moreover, for example, in the group that receivedthe combining demand, the approval of combining can be obtained fromeach network apparatus within the group, or in the case there is thenetwork apparatus representing the group, the approval of the combiningcan be carried out at such a network apparatus. Moreover, in the casethe number of participation in the group is limited, the combining canbe rejected or the participation in the group can be carried outselectively.

[0109] Moreover, accompanying the combining of the groups, theconnection information of the respective groups stored in the relayserver 104 is united, but it is possible to leave any one of thekeywords or the like that are registered by the respective groups, or tomerge the keywords of both of the groups.

[0110] A procedure for terminating the communication with the group inone example of the communication system including the second embodimentof the relay server of the present invention will be described withreference to FIGS. 10A and 10B. As in the manner stated above, when thecommunication is being carried out among the network apparatus withinthe group, a part of the network apparatus can end the communicationwith the other network apparatus within the group.

[0111] In the example shown in FIG. 10A, it is shown of a state in whichthe communication is being carried out among four parties, i.e., theterminal 11, the terminal 21, the terminal 51, and the terminal 61.Under this state, for example, when the terminal 61 ends thecommunication with the group, the terminal 61 transmits, to the relayserver 104, the disconnection demand for disconnecting thecommunication. When the relay server 104 receives the disconnectiondemand from the terminal 61, the relay server 104 eliminates theterminal 61 from the members of the group, and stops the relayingbetween the terminal 11, the terminal 21 and the terminal 51, and theterminal 61. Accordingly, as shown in FIG. 10B, the informationtransmitted from the terminal 11, the terminal 21, and the terminal 51are not sent to the terminal 61. The relaying of the communication amongthe terminal 11, the terminal 21, and the terminal 51 is continued.Further, the TCP/IP connection between the terminal 61 and the relayserver 104 can be maintained as it is, or the TCP/IP connection itselfcan be disconnected.

[0112] Further, the fact that the terminal 61 withdrew from the membersof the group can be notified to the terminal 11, the terminal 21, andthe terminal 51 that are the other members of the group. Moreover,various manners can be adopted. For example, the fact may be notifiedonly to the network apparatus which represents the group.

[0113] A procedure for dividing the group in one example of thecommunication system including the second embodiment of the relay serverof the present invention will be described with reference to FIGS. 11Aand 11B. In the example shown in FIGS. 10A and 10B, the networkapparatus ends the communication, but a part of the network apparatuswithin the group can continue the communication in a different group,i.e., a group having different members or having less members while thecommunication is maintained among the part of the network apparatus..

[0114] In the example shown in FIG. 11A, it is shown of a case in whichthe communication is being carried out among six network apparatus,i.e., the terminal 11, the terminal 21, the terminal 51, the terminal61, the terminal 71, and the terminal 81. It will be described of a casein which under this condition, for example, the terminal 61, theterminal 71, and the terminal 81 end the communication with the terminal11, the terminal 21, and the terminal 51 while the terminal 61, theterminal 71, and the terminal 81 maintain the communication amongthemselves.

[0115] In such a case, the demand for dividing the group such that theterminals 61, 71, and 81 are separated from the group is transmitted tothe relay server 104 by one of the terminal 61, the terminal 71, theterminal 81, for example, by the terminal 61. The relay server 104eliminates the terminal 61, the terminal 71, and the terminal 81 fromthe relaying communication targets of the original group, and theinformation from the terminal 11, the terminal 21, and the terminal 51are not relayed to the terminal 61, the terminal 71, and the terminal81. Furthermore, the connection information is created with the terminal61, the terminal 71, and the terminal 81 as the group, and the relayingof the communication among the terminal 61, the terminal 71, and theterminal 81 is continued. At this time, the information from theterminal 61, the terminal 71, and the terminal 81 are not relayed to theterminal 11, the terminal 21, and the terminal 51. Accordingly, as shownin FIG. 11B, the communication is carried out independently in each ofthe group formed by the terminal 11, the terminal 21, and the terminal51, and the group formed by the terminal 61, the terminal 71, and theterminal 81.

[0116] Further, the demand for dividing the group can be carried outfrom one network apparatus as in the manner stated above, or can becarried out from the network apparatus that is to be a member of each ofthe groups. In addition, after the group is divided, the informationconcerning the excluded members may be notified to the network apparatusof the remaining members or to the network apparatus representing thegroup.

[0117] The various settings for the group that started the communicationnewly by the dividing demand can be copied from the group before thedividing, or the setting of the default can be applied. For example,when the keyword for specifying the group is stored as the connectioninformation, after the dividing, the keyword of the original group canbe copied, or at the time of the dividing, registration of the keywordcan be accepted, or until accepting the registration, the keyword can benot applied.

[0118] As in the manner stated above, by relaying the communication bythe relay server 104, the one-to-one, one-to-plural, or plural-to-pluralcommunication can be carried out. As a result, while the communicationis being carried out, for example, other network apparatus canparticipate or a connection can be disconnected, or the combining or thedividing of the groups or the group can be carried out.

[0119] In the case the relay server 104 has carried out thecommunication among a plurality of network apparatus as in the mannerstated above, it is possible to maintain the connection informationrelated to this time (i.e., the information concerning the networkapparatus which have been carrying out the communication, the keyword,or various settings) even after the end of the communication. Forexample, the connection information can be maintained in accordance withthe demand from the network apparatus which has been carrying out thecommunication, or the connection information can be maintainedautomatically.

[0120] As in the manner stated above, even when the connectioninformation related to the communication which has been done stillremains even after the end of the communication, the communication canbe reproduced in accordance with this connection information. Aprocedure for reproducing the communication in one example of thecommunication system including the second embodiment of the relay serverof the present invention will be described with reference to FIGS. 12Aand 12B. In the example shown in FIGS. 12A and 12B, it is shown of acase in which the connection information is stored in the connectioninformation storing unit 143 of the relay server 104, and suchconnection information is information related to the time when thecommunication was carried out by the group formed by the terminal 11,the terminal 21, and the terminal 51. FIG. 12A shows an example in whichthe terminal 11, the terminal 21, the terminal 51, and the terminal 61make the login to the relay server 104, and the TCP/IP connection ismade.

[0121] Under this state, for example, the terminal 11 transmits, to therelay server 104, the search demand in relation to the connectioninformation of the past, and obtains, as the search result, theconnection information of the time when the communication was carriedout by the group comprised of the terminal 11, the terminal 21, and theterminal 51. The terminal 11 demands, to the relay server 104, thereproduction of the communication by designating the obtained connectioninformation. At the relay server 104, the control unit 142 takes out thedesignated connection information from the connection informationstoring unit 143, and the relay server 104 recognizes that the membersof the communication which was carried out at that time are the terminal11, the terminal 21, and the terminal 51. Subsequently, the relay server104 transmits the connection demand to the terminal 21 and the terminal51, and further to the terminal 11, and starts the communication withthe network apparatus which permitted the communication, and therelaying between the relay server and the network apparatus of the othermembers. Accordingly, as shown in FIG. 12B, the communication can becarried out by the group formed with the terminal 11, the terminal 21,and the terminal 51. As in the manner stated above, it is possible tocarry out the communication that was carried out among a plurality ofnetwork apparatus in the past. Moreover, the relaying is not carried outto the network apparatus that is not registered in the connectioninformation of the past, for example, the terminal 61, even when theterminal 61 has performed the logon.

[0122] Further, when the network apparatus of the member of the groupthat is specified from the connection information of the past has notmade the login to the relay server 104, the connection demand cannot becarried out from the relay server 104. Likewise, the connection demandcannot be carried out in the case the vacant TCP/IP connection does notexist due to the connections being carried out for the communicationwith other network apparatus. Furthermore, also in the case theconnection demand from the relay server 104 is rejected at the networkapparatus side, the communication cannot be started. In such a case, thecommunication based on the connection information of the past cannot berealized, and the origin that demanded the reproduction of thecommunication of the past can be notified that the reproduction cannotbe made to full extent. Alternatively, the relay server, the networkapparatus, or/and the like may be constructed so as to reproduce thecommunication only in the case the reproduction can be made to a fullextent, and or constructed so as to select one from these cases.

[0123] As in the manner stated above, the relay server 104 relays thecommunication with a plurality of network apparatus, and thecommunication can be realized among the network apparatus. However,depending on the communication band in the communication unit 141 or theprocessing ability of the control unit 142, there are cases in which thedelay occurs in the relaying of the forwarding data. In such a case, forexample, priority can be provided such that the communication with aspecific network apparatus is to be provided with priority, and thecommunication with high priority can be relayed before othercommunication. For example, the priority is set high on the applicationprotocol communication or the like that is necessary to be carried outin real time, such as the communication of a moving image (an animatedimage), thereby, wide communication band can be secured, and thecommunication can be carried out without losing the characteristic ofthe real time.

[0124] The examples described hereinabove of the communication among thenetwork apparatus which have made the login to one relay server 104.However, the present invention is not limited to such a case. Forexample, a plurality of relay servers can be provided, and thecommunication can be carried out likewise among the network apparatuswhich have made the login to different relay servers. Of course, a groupcan be formed by a plurality of network apparatus which have made thelogin to a plurality of different relay servers such that thecommunication can be carried out reciprocally, and the participation inthe group, disconnection of the communication with the group, and/or thecombining or the dividing of the groups can be carried out. In addition,the relay servers, network apparatus, and/or the communication systemmay be constructed such that the connection information can be held byeach of the relay servers, and one relay server asks another relayserver or other relay servers about the connection information at thetime of the searching, and/or may be constructed such that theconnection information can be forwarded among the relay serversreciprocally so as to realize the consistency of the connectioninformation at all times. A server for holding and searching for theconnection information can be provided separately, and can beconstructed to store the connection information in the server, and thesearch demand of the connection information can be requested to theserver.

What is claimed is:
 1. A relay server comprising: communication meanscapable of carrying out communication with each of a plurality ofnetwork apparatus respectively by using at least one connection; andcontrol means for relaying the communication between the networkapparatus, wherein the control means manages the at least one connectionby using a connection identifier which makes it possible to uniquelyidentify each of the at least one connection which the communicationmeans uses for communication with the each of the plurality of networkapparatus.
 2. The relay server according to claim 1, wherein the each ofthe plurality of network apparatus makes login to the relay server toestablish the at least one connection before the communication with theeach of plurality of network apparatus is carried out, and until thecommunication is carried out, the at least one connection is maintained.3. A relay server comprising: communication means capable of carryingout communication with each of a plurality of network apparatusrespectively by using at least one connection, and carrying outcommunication with another relay server or other relay servers existingon the Internet; and control means for relaying the communicationbetween the network apparatus or between the network apparatus and theanother relay server or the other relay servers by using thecommunication means, wherein the control means manages each of the atleast one connection which the communication means respectively uses forcommunication with the each of the plurality of network apparatus, byusing a connection identifier which makes it possible to uniquelyidentify the each of the at least one connection and the connectionswhich the communication means uses for communication with another relayserver or other relay servers.
 4. The relay server according to claim 3,wherein the connection identifier is created so as to include a relayserver identifier corresponding to each of the relay server and theanother relay server or the other relay servers.
 5. The relay serveraccording to claim 4, wherein the connection identifier further includesa user ID of the network apparatus connected to the each of the relayserver and the another relay server or the other relay servers.
 6. Therelay server according to claim 5, wherein the connection identifierfurther includes a connection number corresponding to each connectionwith the network apparatus having the user ID.
 7. The relay serveraccording to claim 3, wherein the control means obtains a part of theconnection identifier via the communication means from a database serverexisting on the Internet.
 8. The relay sever according to claim 1 or 3,wherein the control means sends back, to one of the plurality of networkapparatus, the connection identifier corresponding to login from the onenetwork apparatus when the one network apparatus makes the login to therelay server.
 9. A relay server comprising: communication means capableof carrying out communication with a plurality of network apparatus;control means for relaying the communication among the plurality ofnetwork apparatus; and storing means for storing connection informationconcerning the network apparatus for which the control means is relayingthe communication, wherein when the control means receives inquiry aboutconnection condition via the communication means, the control meanssends back the connection information stored in the storing means as areply to the inquiry.
 10. The relay server according to claim 9, whereinthe control means receives the inquiry about the connection condition ofa specified network apparatus of the plurality of network apparatus. 11.The relay server according to claim 9, wherein the storing means stores,as the connection information, information indicating a group comprisedof at least a part of the plurality of network apparatus for which thecontrol means is relaying the communication.
 12. The relay serveraccording to claim 9, wherein when the control means receives a demandfor searching for the connection information, the control means searchesfor the connection information stored in the storing means to send backthe connection information as the reply to the inquiry.
 13. The relayserver according to claim 9, wherein the control means receives, fromone of the plurality of network apparatus, indication information whichindicates how to deal with the inquiry in advance, and when the controlmeans receives the inquiry about the connection information, the controlmeans determines whether or not to send back the connection informationas the reply to the inquiry, in accordance with the indicationinformation.
 14. The relay server according to claim 9, wherein thecontrol means receives, from at least one network apparatus of theplurality of network apparatus which is not a member of a group, ademand for participating in said group comprised of at least a part ofthe plurality of network apparatus, and the control means relayscommunication between the at least one network apparatus and said group.15. The relay server according to claim 9, wherein the control meanscombines a plurality of groups comprised of the plurality of networkapparatus so as to form one group, and then relays communication amongthe plurality of network apparatus belonging to the formed one group.16. The relay server according to claim 14 or 15, wherein the controlmeans can limit a number of network apparatus which belong to the group.17. The relay server according to claim 9, wherein by following ademand, the control means divides one or more network apparatus from agroup comprised of at least a part of the plurality of network apparatusfor which the relay server is relaying communication.
 18. The relayserver according to claim 9, wherein even after relaying of thecommunication by the control means is ended, the storing means holds theconnection information concerning the communication whose relaying hasbeen ended, and by following a demand, the control means reproduces therelaying of the communication in accordance with the connectioninformation held by the storing means.
 19. The relay server according toclaim 18, wherein the control means receives the demand for reproducingthe communication in accordance with the connection information whichhas been specified, and reproduces the relaying of the communication inaccordance with the specified connection information.
 20. The relayserver according to claim 9, wherein the control means gives priority tothe communication with at least one network apparatus of the pluralityof network apparatus so as to ensure bandwidth in accordance withnecessity.